/**
 * 2010(c) Copyright Oceansoft Information System Co.,LTD. All rights reserved.
 * <p>
 * Compile: JDK 1.6+
 * <p>
 * 版权所有(C)：江苏欧索软件有限公司
 * <p>
 * 公司名称：江苏欧索软件有限公司
 * <p>
 * 公司地址：中国苏州科技城青山路1号
 * <p>
 * 网址: http://www.oceansoft.com.cn
 * <p>
 * 作者: 090922(陈伟)
 * <p>
 * 文件名: com.oceansoft.mobile.biz.admin.service.SysUserService.java
 * <p>
 * 类产生时间: 14-2-13 下午2:46
 * <p>
 * 负责人: 090922(陈伟)
 * <p>
 * Email:javacspring@gmail.com
 * <p>
 * 所在组 : 掌上公安应用平台
 * <p>
 * 所在部门: 开发部--手持技术部
 * <p>
 * <p>
 */
package com.oceansoft.mobile.biz.admin.service;

import java.util.List;

import com.oceansoft.mobile.biz.admin.entity.Auth;
import com.oceansoft.mobile.biz.admin.entity.BootMenu;
import com.oceansoft.mobile.biz.admin.entity.Profile;
import com.oceansoft.mobile.biz.admin.entity.SysUser;
import com.oceansoft.mobile.biz.api.entity.AuthUser;
import com.oceansoft.mobile.common.base.entity.Result;
import com.oceansoft.mobile.common.base.entity.SelectBox;

/**
 * Created with IntelliJ IDEA.
 * 
 * @author: chenw
 * @time: 14-2-13 下午2:46
 */
public interface ISysUserService {

	/**
	 * 管理员登录验证
	 * 
	 * @param profile
	 *            Profile
	 * @return Result
	 */
	public Result loginAuthen(Profile profile);

	/**
	 * @param loginId
	 * @return
	 */
	public SysUser loadSysUserById(long loginId);

	/**
	 * 更新登录账号密码
	 * 
	 * @param id
	 *            账号ID
	 * @param origiEncodingStr
	 *            原始密码加密码串
	 * @param pwdEncodingStr
	 *            加密后密码串
	 * @return Result
	 */
	Result updatePassword(long id, String origiEncodingStr,
			String pwdEncodingStr);

	/**
	 * 根据商家编号查询管理员
	 * 
	 * @param merchant_id
	 * @return
	 */
	public SysUser loadSysUserByMerchantId(long merchant_id);

	/**
	 * 获取角色权限
	 * 
	 * @param auth_id
	 * @return
	 */
	public List<Auth> loadAuth(long auth_id);

	/**
	 * 手机boot菜单 获取一级菜单
	 * 
	 * @return
	 */
	public List<BootMenu> listFristMenu();

	/**
	 * 根据sid找到数据
	 * 
	 * @param sid
	 * @return
	 */
	public BootMenu editeMenu(long sid);

	/**
	 * 列出二级菜单
	 * 
	 * @param sid
	 * @return
	 */
	List<BootMenu> listSecondMenu(long sid);

	/**
	 * 删除菜单
	 * 
	 * @param sid
	 * @return
	 */
	public Result deleteMenuById(long sid);

	/**
	 * 修改或者编辑菜单
	 * 
	 * @param bootMenu
	 * @return
	 */
	public Result saveOrEditeMenu(BootMenu bootMenu);

	/**
	 * 下拉列表
	 * 
	 * @param description
	 * @return
	 */
	public List<SelectBox> boxList(String description);
	/**
	 * 保存微信用户注册
	 *
	 * @param user
	 * @return
	 */
	void saveWeChatUser(AuthUser user);
}
